﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.ObjectModel;

using Interface;

namespace Model
{
    // Den klasse er lavet af Gruppe 4 DM12a
    public class KundeCollection
    {
        // en liste med kunder
        List<Kunde> kundeListe;
        Kunde aktuelKunde;

        public KundeCollection()
        {
            kundeListe = new List<Kunde>(); // der instantieres en ny liste med kunder
        }

        // konstruktør til kunden, der instantieres og tilføjes til listen
        public Kunde RegistrerKunde(string navn, string adresse, string postNr, string distrikt, int tlfNr, string email, int kundeId, string land)
        {
            Kunde nyKunde = new Kunde(navn, adresse, postNr, distrikt, tlfNr, email, kundeId, land);
            kundeListe.Add(nyKunde);
            return nyKunde;
        }

        // metode der benyttes til redigering af kunde. 
        public Kunde Rediger(string navn, string adresse, int tlfNr, string email, int kundeId, string land)
        {
            // Der findes den aktuelkunde som skal ændres
            aktuelKunde = FindKunde(kundeId);
            aktuelKunde.Navn = navn; // Her skal kundens aktuelle navn sættes = det nye navn man har skrevet
            aktuelKunde.Adresse = adresse;
            aktuelKunde.TlfNr = tlfNr;
            aktuelKunde.Email = email;
            aktuelKunde.land = land;
            return aktuelKunde;
        }

        // returnerer listen af kunder
        public List<Kunde> KundeListe
        {
            get { return kundeListe; }
        }

        // finder en kunde ud fra kundeId
        public Kunde FindKunde(int kundeId)
        {
            bool fundet = false;
            int i = 0;

            // så længe den aktuelle kunde ikke findes skal while løkken tælle videre
            while (!fundet)
            {
                // hvis kundeId er = det valgte kundeId skal den returnere kundelisten med kunden
                if (kundeListe[i].KundeId == kundeId)
                    fundet = true;
                else
                    i++;
            }

            return kundeListe[i];
        }
    }
}
